/**
 *	\file AKMediator.h
 *  
 *  \section desc_sec Description
 *  Description
 *  
 *  \if copyright
 *  	Copyright 2008 Ben Chen. All rights reserved.
 *  \endif
 *  
 *  \section hist_sec Change History:
 *  	-	1/19/08		BC		Created this file
 *  
 *  <hr>
 *  \addtogroup AnimalKingdom
 *  @{
 */

#import "AKBasicInfoProvider.h"
#import "AKGeometryProvider.h"
#import "AKPlayer.h"
#import "AKStateMaintainer.h"
#import "AKImageProvider.h"
#import "AKBasicDrawing.h"

#ifndef AKIPHONE
#import "AKSoundProvider.h"
#import "AKSoundController.h"
#endif

#ifndef AKIPHONE
@interface AKMediator : NSObject 
#else
@interface AKMediator : NSObject <UIAlertViewDelegate>
#endif
{
	id <AKStateMaintainer>		stateMaintainer;
	id <AKBasicDrawing>			basicDrawing;
#ifndef AKIPHONE
	id <AKSoundProvider>		soundProvider;
	AKSoundController			*soundController;
#else
	UIAlertView*				alertView;
	BOOL						canReceiveAlert;
#endif
	NSArray						*players;
	
	BOOL						canPerformObservingMethod;
}

- (id)initWithStateMaintainer:(id <AKStateMaintainer>)aStateMaintainer
					  players:(NSArray*)newPlayers
				 basicDrawing:(id <AKBasicDrawing>)aBasicDrawingObject 
#ifndef AKIPHONE
				soundProvider:(id <AKSoundProvider>)aSoundProvider 
			  soundController:(AKSoundController*)aSoundController
#endif
;

- (void)start;

@end

/** @} */